/**
 * 分页
 *  使用说明：
 *      1.初始化对象
 *      1.1 两个构造函数
 *      2.调用initPaginator函数，具体查看paginator_demo.html
 */
function Paginator() {
    //获取第一个参数
    var firstParam = arguments[0];
    if(typeof firstParam === "object") {
        //传递了整个配置项
        this._constructorSimple(firstParam);
    }else if (typeof firstParam === "number") {
        //只传递三个参数
        this._constructorComplex(firstParam, arguments[1], arguments[2]);
    }
}

Paginator.prototype = {
    /**
     * 构造函数
     * @param options 配置项
     */
    _constructorSimple: function(options) {
        this.options = options;
    },
    /**
     * 构造函数
     * @param totalPages 总页数
     * @param currentPage 当前页
     * @param pageClickedFunction 点击页面需要执行的函数
     */
    _constructorComplex: function(totalPages, currentPage, pageClickedFunction) {
        this.options = {};
        this.options.totalPages = totalPages;//总页数
        this.options.currentPage = currentPage;//当前页
        this.options.numberOfPages = 5;//设置控件显示的页码数
        this.options.bootstrapMajorVersion = 3;//如果是bootstrap3版本需要加此标识，并且设置包含分页内容的DOM元素为UL,如果是bootstrap2版本，则DOM包含元素是DIV
        this.options.useBootstrapTooltip = false;//是否显示tip提示框
        this.options.itemTexts = function(type,page, current){//文字翻译
            switch (type) {
                case "first":
                    return "首页";
                case "prev":
                    return "上一页";
                case "next":
                    return "下一页";
                case "last":
                    return "尾页";
                case "page":
                    return page;
            }
        };
        this.options.onPageClicked = function (event, originalEvent, type, page) {//页码点击事件
            pageClickedFunction(event, originalEvent, type, page);
        };
    },
    /**
     * 初始化分页
     * @param selector
     */
    initPaginator: function(selector) {
        selector.bootstrapPaginator(this.options);
    }
}